Backpressure signaling is a method of flow control used in data communications systems. It can be used on communication links between data communications systems, and also for communications between subsystems of data communications systems. Generally, the purpose of backpressure signaling is to prevent packet loss at receiver queues caused by overflowing those queues.
Legacy backpressure techniques typically employ simple on-off signaling. According to this technique, a receiver queue of a data communications system, upon crossing a fill-level threshold, causes a backpressure signal (e.g. halt) to be generated that is sent to the source of the packets. In the case of inter-system communication, the packet source would typically be a transmit buffer of another data communications system. In the case of intra-system communication, the packet source would typically be an egress queue of a subsystem and the receiver queue would be an ingress queue of another subsystem. The backpressure signal (halt) indicates to the source that it should suspend sending packets to that queue until further notice, which will be given in the form of another backpressure signal (e.g. resume). In some cases there can be more than one packet source, and in those cases the backpressure signal would normally be sent to all of those sources. This technique has been highly successful in communications systems because it is simple to implement; requiring only a limited amount of information to be sent back to the transmitting source to process.
More advanced backpressure techniques are known that offer more than simple on-off signaling. These include techniques employing progressive throttling of a packet flow to a queue as successively higher fill-level thresholds are exceeded at the queue. Other techniques have means for applying backpressure to packets of only certain priorities. Generally, more advanced backpressure techniques require more information to be sent back to a packet source via advanced backpressure signaling.
With the introduction of advanced backpressure techniques, the problem of how to overlay these new techniques onto legacy systems arises. Specifically, in the case of priority based backpressure, the amount of information that needs to be communicated to a packet source increases and the problem becomes how to send this information back to the transmitting source over the existing infrastructure that was designed to handle a simple backpressure technique.
Accordingly, there is a need to provide advanced backpressure signaling capability in a legacy system to gain the advantages that such signaling offers without requiring substantial redesign of the system.